Шаблони

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 9 з дисципліни: Програмування ч. 2 (ООП) на тему: “Шаблони” Тема роботи: Шаблони Мета роботи: познайомитися з шаблонами. Завдання: В масиві обчислити:         — різниця елементів масиву, що розташовані між першим від'ємним та другим додатним елементами. Текст програми: //-------------------------------main.c-------------------------------------- #include "Array.h" #include <stdio.h> #include <time.h> #define N 10 void main () { srand( time(NULL) ); //Масив елементів int, double, char Array<int, N> iarr(20); Array<double, N> darr(50); Array<char, N> carr(255); //Вивід масивів і об числення функції cout << "int :" << iarr << "sum=" << iarr.Sum() << endl; cout << "double:" << darr << "sum=" << darr.Sum() << endl; cout << "char :" << carr << "sum=" << carr.Sum() << endl; getchar(); } //-------------------------------Array.h------------------------------------- #include <stdlib.h> #include <iostream.h> #include <string.h> template<class T,int size> class Array { protected: //Масив T arr[size]; public: //Вивід елементів friend ostream& operator<< (ostream& output, Array<T,size>& arr); //Сума елементів T Sum(); //Конструктор Array(int num=0); //Деструктор ~Array() {}; }; //Конструктор template<class T, int size> Array<T,size>::Array(int num) { int i; if (num) for (i=0; i<size; i++) { arr[i] = (T) ( ( rand() % (num*1000) ) /1000.0 ); if (rand()%2==0) arr[i] = -arr[i]; } else memset (arr, 0, size*sizeof(T)); } //Вивід елементів template <class T,int size> ostream& operator<< (ostream& output, Array<T,size>& arr) { int i; for (i=0; i<size; i++) { output << arr.arr[i] << " "; } output << endl; return output; } //Сума елементів template <class T, int size> T Array<T,size>::Sum() { int i; T sum=0; bool flg1=0,flg2=0; for (i=0; i<size; i++) { if (arr[i]<0) flg1=1; if (flg1 && !flg2) { sum=-arr[i]; if (arr[i]>0) flg2=1; } } return sum; } Результати роботи програми:  Висновок: На цій лабораторній роботі я ознайомився з шаблонами. Створив шаблон масив і функції для роботи з ним.
Антиботан аватар за замовчуванням

19.11.2013 20:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини